From: Boris Ostrovsky Date: Mon, 22 Jun 2015 15:51:11 +0000 (+0200) Subject: x86/pvh: don't test 64b-only vcpu_guest_context's fields X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~3056 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=72f6e4ba462256c472c811480581508d901aabb1;p=xen.git x86/pvh: don't test 64b-only vcpu_guest_context's fields vcpu_guest_context's fs_base, gs_base_kernel and gs_base_user are not defined for 32-bit guests. Drop PVH 32bitfixme ASSERT. Signed-off-by: Boris Ostrovsky Reviewed-by: Jan Beulich --- diff --git a/xen/arch/x86/domain.c b/xen/arch/x86/domain.c index 0363650c0f..e396c6cffc 100644 --- a/xen/arch/x86/domain.c +++ b/xen/arch/x86/domain.c @@ -769,16 +769,14 @@ int arch_set_info_guest( } else if ( is_pvh_domain(d) ) { - /* PVH 32bitfixme */ - ASSERT(!compat); - if ( c(ctrlreg[0]) || c(ctrlreg[1]) || c(ctrlreg[2]) || c(ctrlreg[4]) || c(ctrlreg[5]) || c(ctrlreg[6]) || c(ctrlreg[7]) || c(ldt_base) || c(ldt_ents) || c(user_regs.cs) || c(user_regs.ss) || c(user_regs.es) || c(user_regs.ds) || c(user_regs.fs) || c(user_regs.gs) || - c(kernel_ss) || c(kernel_sp) || c.nat->gs_base_kernel || - c.nat->gdt_ents || c.nat->fs_base || c.nat->gs_base_user ) + c(kernel_ss) || c(kernel_sp) || c(gdt_ents) || + (!compat && (c.nat->gs_base_kernel || + c.nat->fs_base || c.nat->gs_base_user)) ) return -EINVAL; }